

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<script type="text/javascript" src="helpman_topicinit.js"></script>

<title>Version Control [Enterprise Architect User Guide]</title>

<meta name="keywords" content="Enterprise Architect, Sparx Systems, UML, Version Control,Version Control Introduction,Version Control Project Browser Indicators,Source Code,Source Code Control,Package,Package Version Control,Project Browser,Project Browser Version Control Indicators">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta http-equiv="Content-Style-Type" content="text/css" />

<link type="text/css" href="default.css" rel="stylesheet" />
<style type="text/css">
  A, A:Visited
  {
    color: #00F;
  }

  A:Active, A:Hover
  {
    color: #F00;
  }

  OL
  {
    margin: 5px 0 5px 48px;
  }

  UL
  {
    margin-bottom: 3px;
    margin-top: 0;
  }

  #nsr
  {
    background-color: #D4DFFF;
  }

  #nsr A
  {
    text-decoration: none;
  }

  #mainbody
  {
    padding: 8px;
  }

  .p_BodyText
  {
    padding: 5px 0;
  }
</style>



<style type="text/css" media="screen">
  BODY
  {
    background-color: #FFFFFF;
  }

  #nsr
  {
    padding: 6px 6px 0 6px;
    border-bottom: none;
    vertical-align: top;
    z-index: 2;
    visibility: visible;
    left: 0;
    top: 0;
    position: absolute;
  }

  #mainbody
  {
    left: 0;
    top: 0;
    margin: 0;
    position: absolute;
    padding: 10px;
    overflow: auto;
    height: 100%;
    z-index: 1;
    background-repeat: no-repeat;
    background-position: bottom right;
    background-attachment: fixed;
  }
</style>

<style type="text/css" media="print">
  #nsr
  {
    visibility: none;
  }

  #mainbody
  {
    overflow: visible;
  }
</style>
<script type="text/javascript" language="JavaScript" src="nonscroll.js"></script>

</head>
<body scroll="no">

<div id="page">



        <div id="content">
          <div id="content-inner">
          



  
          <div id="nsr">
            <table border="0" cellspacing="0" cellpadding="4" width="100%">
              <tr valign="top">
                <td align="left">
  


                  <p class="p_Heading1"><span class="f_Heading1">Version Control</span></p>



  
                </td>
                <td align="right">
                  <a href="introduction.htm" onmouseover="document.images.main.src='button_main_h.gif'" onmouseout="document.images.main.src='button_main.gif'">
                    <img name="main" src="button_main.gif" border=0 alt="Return to Introduction">
                  </a>&nbsp;
    
                  <a href="managingyourlocks.htm" onmouseover="document.images.prev.src='button_prev_h.gif'" onmouseout="document.images.prev.src='button_prev.gif'">
                    <img name=prev src="button_prev.gif" border=0 alt="Previous page" />
                  </a>&nbsp;
    
    
    
                  <a href="version_control_basics.htm" onmouseover="document.images.next.src='button_next_h.gif'" onmouseout="document.images.next.src='button_next.gif'">
                    <img name=next src="button_next.gif" border=0 alt="Next page" />
                  </a>
    
    
                </td>
              </tr>
            </table>
          </div>
          <div id="mainbody">
  


                <p class="p_TextIndentedL1"><img src="version_control.png" width="161" height="100" border="0" alt="version_control"></p>
<p class="p_BodyText"><span class="f_BodyText">Enterprise Architect supports version control of packages and their component sub-packages to a central version control repository. You can place any individual packages, View nodes or model root nodes under version control.</span></p>
<p class="p_SubHeadingL1"><span class="f_SubHeadingL1">Features</span></p>
<p class="p_BodyText"><span class="f_BodyText">Version Control provides two key facilities:</span></p>
<ul style="text-indent: 0px; margin-left: 30px; list-style-position: outside;">
<li><span class="f_Bulletlist1">Coordinating sharing of packages between users</span></li>
</ul>
<ul style="text-indent: 0px; margin-left: 30px; list-style-position: outside;">
<li><span class="f_Bulletlist1">Saving a history of changes to Enterprise Architect packages, including the ability to retrieve previous versions.</span></li>
</ul>
<p class="p_SubHeadingL1"><span class="f_SubHeadingL1">System Requirements</span></p>
<p class="p_BodyText"><span class="f_BodyText">Version controlled packages are packages that have been configured for use with version control software. To use version control in Enterprise Architect, a third-party source-code control application is required that controls access to and stores revisions of the controlled packages. Enterprise Architect supports the following version control applications:</span></p>
<ul style="text-indent: 0px; margin-left: 30px; list-style-position: outside;">
<li><span class="f_Bulletlist1">Subversion, which is available from <a href="http://subversion.tigris.org/" target="_blank" class="weblink">http://subversion.tigris.org/</a></span></li>
<li><span class="f_Bulletlist1">CVS, which is available from <a href="http://www.tortoisecvs.org/" target="_blank" class="weblink">http://www.tortoisecvs.org/</a></span></li>
<li><span class="f_Bulletlist1">Microsoft Team Foundation Server</span></li>
</ul>
<ul style="text-indent: 0px; margin-left: 30px; list-style-position: outside;">
<li><span class="f_Bulletlist1">Any other version control product that complies with the Microsoft Common Source Code Control standard, version 1.1 or higher.</span></li>
</ul>
<p class="p_SubHeadingL1"><span class="f_SubHeadingL1">Set-Up</span></p>
<p class="p_BodyText"><span class="f_BodyText">Before using Enterprise Architect's version control facility, your version control software must be installed on each machine where it is intended to be used.</span></p>
<p class="p_BodyText"><span class="f_BodyText">Typically there are:</span></p>
<ul style="text-indent: 0px; margin-left: 30px; list-style-position: outside;">
<li><span class="f_Bulletlist1">A server component that manages a version control repository</span></li>
<li><span class="f_Bulletlist1">Client components on the workstations that Enterprise Architect</span><span class="f_BodyText"> </span><span class="f_Bulletlist1">uses to communicate with the server.</span></li>
</ul>
<p class="p_BodyText"><span class="f_BodyText">A version control client must be installed on every machine where you run </span><span class="f_Bulletlist1">Enterprise Architect</span><span class="f_BodyText"> and want to access your version control system. Once the version control software has been installed and configured, you must define a Version Control Configuration within </span><span class="f_Bulletlist1">Enterprise Architect</span><span class="f_BodyText">, to use your installed version control product.</span></p>
<div style="text-align: left; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 5px 0px 5px 13px;"><table cellspacing="0" cellpadding="2" border="0" style="border: none; border-spacing:0px;">
<tr style="text-align:left;vertical-align:bottom;">
<td valign="bottom" width="955" bgcolor="#efeff7" style="width:955px; background-color:#efeff7;"><p class="p_TiporNote" style="border-top: none; border-right: none; border-left: none;"><span class="f_TiporNote">Note:</span></p>
</td>
</tr>
<tr style="text-align:left;">
<td width="955" bgcolor="#f7f7ff" style="width:955px; background-color:#f7f7ff;"><p class="p_TiporNoteText"><span class="f_TiporNoteText">Sparx Systems strongly urge you not to manipulate version controlled package files outside of Enterprise Architect. It is possible to leave the package files in a state that Enterprise Architect cannot recognize.</span></p>
</td>
</tr>
</table>
</div>
<p class="p_SubHeadingL1"><span class="f_SubHeadingL1">Usage</span></p>
<p class="p_BodyText"><a name="usage"></a><span class="f_BodyText">There are four basic ways in which the version control facility might be used:</span></p>
<div style="text-align: left; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 5px 0px 5px 13px;"><table cellspacing="0" cellpadding="0" border="0" style="border: none; border-spacing:0px; border-collapse: collapse;">
<tr style="text-align:left;vertical-align:top;">
<td valign="top" width="152" bgcolor="#e3e6ed" style="width:152px; background-color:#e3e6ed; border: solid 1px #000000;"><p class="p_Tableheader"><span class="f_Tableheader">Use</span></p>
</td>
<td valign="top" width="564" bgcolor="#e3e6ed" style="width:564px; background-color:#e3e6ed; border: solid 1px #000000;"><p class="p_Tableheader"><span class="f_Tableheader">Description</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td valign="top" width="152" style="width:152px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">Single Shared model</span></p>
</td>
<td valign="top" width="564" style="width:564px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">Users share an Enterprise Architect model, stored in a central .EAP file or DBMS repository. This configuration enables you to view changes to other users' packages without explicitly having to check them out, but by simply refreshing your view of the model.</span></p>
<ul style="text-indent: 0px; margin-left: 30px; list-style-position: outside;">
<li><span class="f_Bulletlist1">Version control regulates access to packages, and maintains package revision history.</span></li>
</ul>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td valign="top" width="152" style="width:152px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">Multiple Private models</span></p>
</td>
<td valign="top" width="564" style="width:564px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">An Enterprise Architect model is created by a single user who configures it for version control. The model file is then distributed to other users, with each user storing their own private copy of the model.</span></p>
<ul style="text-indent: 0px; margin-left: 30px; list-style-position: outside;">
<li><span class="f_Bulletlist1">Users update their model's packages through version control</span></li>
<li><span class="f_Bulletlist1">Version control regulates</span><span class="f_Tabletext"> access to packages, and maintains package revision history</span></li>
</ul>
<ul style="text-indent: 0px; margin-left: 30px; list-style-position: outside;">
<li><span class="f_Bulletlist1">Other users' new packages are retrieved using the </span><span class="f_MenuKeyField">Get Package</span><span class="f_Bulletlist1"> menu option.</span></li>
</ul>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td valign="top" width="152" style="width:152px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">Shared packages</span></p>
</td>
<td valign="top" width="564" style="width:564px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">Individual users create separate Enterprise Architect models but share one or more packages.</span></p>
<ul style="text-indent: 0px; margin-left: 30px; list-style-position: outside;">
<li><span class="f_Bulletlist1">Users share packages through version control.</span></li>
</ul>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td valign="top" width="152" style="width:152px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">Standard packages</span></p>
</td>
<td valign="top" width="564" style="width:564px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">A company might have a standard set of packages which are broadly shared (on a read-only basis).</span></p>
<ul style="text-indent: 0px; margin-left: 30px; list-style-position: outside;">
<li><span class="f_Bulletlist1">Individual users retrieve packages with the </span><span class="f_MenuKeyField">Get Package</span><span class="f_Bulletlist1"> menu option.</span></li>
</ul>
</td>
</tr>
</table>
</div>
<p class="p_SubHeadingL1"><span class="f_SubHeadingL1">Version Control Indicators</span></p>
<p class="p_BodyText"><span class="f_BodyText">Packages under version control are identified in the </span><span class="f_UIControl">Project Browser</span><span class="f_BodyText"> by icons that indicate the current status of the package.</span></p>
<div style="text-align: left; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 5px 0px 5px 13px;"><table cellspacing="0" cellpadding="0" border="0" style="border: none; border-spacing:0px; border-collapse: collapse;">
<tr style="text-align:left;vertical-align:top;">
<td valign="top" width="152" bgcolor="#e3e6ed" style="width:152px; background-color:#e3e6ed; border: solid 1px #000000;"><p class="p_Tableheader"><span class="f_Tableheader">Icon</span></p>
</td>
<td valign="top" width="564" bgcolor="#e3e6ed" style="width:564px; background-color:#e3e6ed; border: solid 1px #000000;"><p class="p_Tableheader"><span class="f_Tableheader">Indicates that...</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td valign="top" width="152" style="width:152px; border: solid 1px #000000;"><p class="p_Tabletext"><img src="pkgcntrlxmiicon.png" width="20" height="15" border="0" alt="PkgCntrlXMIicon"></p>
</td>
<td valign="top" width="564" style="width:564px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">This package is <a href="controlledpackages2.htm">controlled</a> and is represented by an XMI file on disk. Version control either is not being used or is not available. You can edit the package.</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td valign="top" width="152" style="width:152px; border: solid 1px #000000;"><p class="p_Tabletext"><img src="packageover1.png" width="20" height="15" border="0" alt="packageover1"></p>
</td>
<td valign="top" width="564" style="width:564px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">This package is version controlled and <a href="checkinginandcheckingoutp.htm">checked out</a> to you, therefore you can edit the package.</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td valign="top" width="152" style="width:152px; border: solid 1px #000000;"><p class="p_Tabletext"><img src="eightarrow.png" width="22" height="18" border="0" alt="Eightarrow"></p>
</td>
<td valign="top" width="564" style="width:564px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">This package is version controlled and not checked out to you, therefore you cannot edit the package (unless you check the package out).</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td valign="top" width="152" style="width:152px; border: solid 1px #000000;"><p class="p_Tabletext"><img src="redeight.png" width="20" height="15" border="0" alt="Redeight"></p>
</td>
<td valign="top" width="564" style="width:564px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">This package is version controlled, but you checked it out whilst <a href="offline_version_control.htm">not connected to the version control</a> server. You can edit the package but there could be version conflicts when you check the package in again.</span></p>
</td>
</tr>
</table>
</div>
<p class="p_BodyText"><a name="icons"></a><span class="f_BodyText">For example, below, </span><span class="f_BodyText" style="font-style: italic;">CVSOO</span><span class="f_BodyText"> and </span><span class="f_BodyText" style="font-style: italic;">CVSPackage</span><span class="f_BodyText"> are configured for version control. </span><span class="f_BodyText" style="font-style: italic;">CVSOO</span><span class="f_BodyText"> is checked out to you, and </span><span class="f_BodyText" style="font-style: italic;">CVSPackage</span><span class="f_BodyText"> is not.</span></p>
<p class="p_TextIndentedL2"><img src="checkinout.png" width="108" height="34" border="0" alt="CheckInOut"></p>
<p class="p_SeeAlso"><span class="f_SeeAlso">See Also</span></p>
<ul style="text-indent: 0px; margin-left: 30px; list-style-position: outside;">
<li><span class="f_Bulletlist1"><a href="version_control_basics.htm">Version Control Basics</a></span></li>
<li><span class="f_Bulletlist1"><a href="applying_version_control_to_en.htm">Apply Version Control To Models</a></span></li>
<li><span class="f_Bulletlist1"><a href="applying_version_control_in_te.htm">Version Control and Team Deployment</a></span></li>
<li><span class="f_Bulletlist1"><a href="vcmenu2.htm">Version Control Menu</a></span></li>
<li><span class="f_Bulletlist1"><a href="versioncontrolsetup.htm">Version Control Setup</a></span></li>
<li><span class="f_Bulletlist1"><a href="usingversioncontrol.htm">Use Version Control</a></span></li>
<li><span class="f_Bulletlist1"><a href="offline_version_control.htm">Offline Version Control</a></span></li>
</ul>




            </div>
          </div>
        </div>



</div>


</body>
</html>
